home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / f90 / intro_intrin.z / intro_intrin
Text File  |  1998-10-30  |  12KB  |  537 lines

  1. INTRO_INTRIN(3I)                                       Last changed: 1-6-98
  2.  
  3.  
  4. NNAAMMEE
  5.      IINNTTRROO__IINNTTRRIINN - Introduction to intrinsic procedures
  6.  
  7. IIMMPPLLEEMMEENNTTAATTIIOONN
  8.      See individual man pages for implementation details
  9.  
  10. DDEESSCCRRIIPPTTIIOONN
  11.      Intrinsic procedures are predefined by the computer programming
  12.      language.  They are invoked in the same way that other procedures are
  13.      invoked.
  14.  
  15.      The Fortran 90 standard defines intrinsic procedures, and the CF90 and
  16.      MIPSpro 7 Fortran 90 compilers include other intrinsics as extensions
  17.      to the standard.
  18.  
  19.      There are four classes of Fortran intrinsic procedures as defined by
  20.      the Fortran 90 standard:  inquiry functions, elemental functions,
  21.      transformational functions, and subroutines.  Additional intrinsics
  22.      provided with the CF90 and MIPSpro 7 Fortran 90 compiler include
  23.      intrinsics that support IEEE floating-point arithmetic and other
  24.      compiler extensions.
  25.  
  26.      The CF90 and MIPSpro 7 Fortran 90 compilers evaluate intrinsic
  27.      procedures in line or by calling external code.  Depending on your
  28.      platform and your program, the following intrinsics can be evaluated
  29.      in line:
  30.  
  31.      * AABBSS, DDAABBSS, IIAABBSS
  32.  
  33.      * AACCHHAARR
  34.  
  35.      * AAIIMMAAGG
  36.  
  37.      * AAIINNTT
  38.  
  39.      * AALLLL
  40.  
  41.      * AANNDD
  42.  
  43.      * AANNIINNTT
  44.  
  45.      * AANNYY
  46.  
  47.      * BBIITT__SSIIZZEE
  48.  
  49.      * MM@@CCLLRR, MM@@LLDD, MM@@MMXX, MM@@LLDDMMXX, MM@@UULL (the BMM intrinsics)
  50.  
  51.      * BBTTEESSTT
  52.  
  53.      * CCEEIILLIINNGG
  54.  
  55.      * CCHHAARR, IICCHHAARR
  56.  
  57.      * CCLLEEAARR__IIEEEEEE__EEXXCCEEPPTTIIOONN
  58.  
  59.      * CCLLOOCC
  60.  
  61.      * CCMMPPLLXX
  62.  
  63.      * CCOOMMPPLL
  64.  
  65.      * CCOONNJJGG
  66.  
  67.      * CCOOUUNNTT
  68.  
  69.      * CCSSHHIIFFTT
  70.  
  71.      * CCSSMMGG
  72.  
  73.      * CCVVMMGGMM, CCVVMMGGNN, CCVVMMGGPP, CCVVMMGGZZ, CCVVMMGGTT
  74.  
  75.      * DDBBLLEE, DDFFLLOOAATT
  76.  
  77.      * DDIIGGIITTSS
  78.  
  79.      * DDIIMM, IIDDIIMM
  80.  
  81.      * DDIISSAABBLLEE__IIEEEEEE__IINNTTEERRRRUUPPTT
  82.  
  83.      * DDOOTT__PPRROODDUUCCTT
  84.  
  85.      * DDPPRROODD
  86.  
  87.      * DDSSHHIIFFTTLL
  88.  
  89.      * DDSSHHIIFFTTRR
  90.  
  91.      * EENNAABBLLEE__IIEEEEEE__IINNTTEERRRRUUPPTT
  92.  
  93.      * EEOOSSHHIIFFTT
  94.  
  95.      * EEPPSSIILLOONN
  96.  
  97.      * EEQQVV
  98.  
  99.      * EEXXPPOONNEENNTT
  100.  
  101.      * FFCCDD
  102.  
  103.      * FFLLOOOORR
  104.  
  105.      * FFRRAACCTTIIOONN
  106.  
  107.      * GGEETT__IIEEEEEE__EEXXCCEEPPTTIIOONNSS
  108.  
  109.      * GGEETT__IIEEEEEE__IINNTTEERRRRUUPPTTSS
  110.  
  111.      * GGEETT__IIEEEEEE__RROOUUNNDDIINNGG__MMOODDEE
  112.  
  113.      * GGEETT__IIEEEEEE__SSTTAATTUUSS
  114.  
  115.      * HHUUGGEE
  116.  
  117.      * II2244MMUULLTT
  118.  
  119.      * IIAACCHHAARR
  120.  
  121.      * IIAANNDD
  122.  
  123.      * IIBBCCLLRR
  124.  
  125.      * IIBBIITTSS
  126.  
  127.      * IIBBSSEETT
  128.  
  129.      * IIEEEEEE__CCLLAASSSS
  130.  
  131.      * IIEEEEEE__CCOOPPYY__SSIIGGNN
  132.  
  133.      * IIEEEEEE__FFIINNIITTEE
  134.  
  135.      * IIEEEEEE__IINNTT
  136.  
  137.      * IIEEEEEE__IISS__NNAANN
  138.  
  139.      * IIEEEEEE__RREEAALL
  140.  
  141.      * IIEEEEEE__UUNNOORRDDEERREEDD
  142.  
  143.      * IIEEOORR
  144.  
  145.      * IINNTT, IIDDIINNTT, IIFFIIXX
  146.  
  147.      * IINNTT2244, LLIINNTT
  148.  
  149.      * IINNTT__MMUULLTT__UUPPPPEERR
  150.  
  151.      * IIOORR
  152.  
  153.      * IISSHHFFTT
  154.  
  155.      * IISSHHFFTTCC
  156.  
  157.      * KKIINNDD
  158.  
  159.      * LLBBOOUUNNDD
  160.  
  161.      * LLEEAADDZZ
  162.  
  163.      * LLEENN
  164.  
  165.      * LLGGEE, LLGGTT, LLLLEE, LLLLTT
  166.  
  167.      * LLOOCC
  168.  
  169.      * LLOOGGIICCAALL
  170.  
  171.      * MMAASSKK
  172.  
  173.      * MMAATTMMUULL
  174.  
  175.      * MMAAXX, MMAAXX00, AAMMAAXX11, DDMMAAXX11, AAMMAAXX00, MMAAXX11
  176.  
  177.      * MMAAXXEEXXPPOONNEENNTT
  178.  
  179.      * MMAAXXLLOOCC
  180.  
  181.      * MMAAXXVVAALL
  182.  
  183.      * MMEEMMOORRYY__BBAARRRRIIEERR
  184.  
  185.      * MMEERRGGEE
  186.  
  187.      * MMIINN, MMIINN00, AAMMIINN11, DDMMIINN11, AAMMIINN00, MMIINN11
  188.  
  189.      * MMIINNEEXXPPOONNEENNTT
  190.  
  191.      * MMIINNVVAALL
  192.  
  193.      * MMOODD, AAMMOODD
  194.  
  195.      * MMOODDUULLOO
  196.  
  197.      * MMVVBBIITTSS
  198.  
  199.      * MMYY__PPEE
  200.  
  201.      * NNEEAARREESSTT
  202.  
  203.      * NNEEQQVV, XXOORR
  204.  
  205.      * NNIINNTT, IIDDNNIINNTT
  206.  
  207.      * NNOOTT
  208.  
  209.      * NNUUMMAARRGG
  210.  
  211.      * OORR
  212.  
  213.      * PPOOPPCCNNTT
  214.  
  215.      * PPOOPPPPAARR
  216.  
  217.      * PPRREECCIISSIIOONN
  218.  
  219.      * PPRREESSEENNTT
  220.  
  221.      * PPRROODDUUCCTT
  222.  
  223.      * RRAADDIIXX
  224.  
  225.      * RRAANNGGEE
  226.  
  227.      * RREEAALL, FFLLOOAATT, SSNNGGLL
  228.  
  229.      * RREEMMOOTTEE__WWRRIITTEE__BBAARRRRIIEERR
  230.  
  231.      * RRRRSSPPAACCIINNGG
  232.  
  233.      * RRTTCC, IIRRTTCC
  234.  
  235.      * SSCCAALLEE
  236.  
  237.      * SSEELLEECCTTEEDD__IINNTT__KKIINNDD
  238.  
  239.      * SSEETT__EEXXPPOONNEENNTT
  240.  
  241.      * SSEETT__IIEEEEEE__EEXXCCEEPPTTIIOONN
  242.  
  243.      * SSEETT__IIEEEEEE__EEXXCCEEPPTTIIOONNSS
  244.  
  245.      * SSEETT__IIEEEEEE__IINNTTEERRRRUUPPTTSS
  246.  
  247.      * SSEETT__IIEEEEEE__RROOUUNNDDIINNGG__MMOODDEE
  248.  
  249.      * SSEETT__IIEEEEEE__SSTTAATTUUSS
  250.  
  251.      * SSHHAAPPEE
  252.  
  253.      * SSHHIIFFTT
  254.  
  255.      * SSHHIIFFTTAA
  256.  
  257.      * SSHHIIFFTTLL
  258.  
  259.      * SSHHIIFFTTRR
  260.  
  261.      * SSIIGGNN, DDSSIIGGNN, IISSIIGGNN
  262.  
  263.      * SSPPAACCIINNGG
  264.  
  265.      * SSPPRREEAADD
  266.  
  267.      * SSUUMM
  268.  
  269.      * SSYYSSTTEEMM__CCLLOOCCKK
  270.  
  271.      * TTEESSTT__IIEEEEEE__EEXXCCEEPPTTIIOONN
  272.  
  273.      * TTEESSTT__IIEEEEEE__IINNTTEERRRRUUPPTT
  274.  
  275.      * TTIINNYY
  276.  
  277.      * TTRRAANNSSFFEERR
  278.  
  279.      * TTRRAANNSSPPOOSSEE
  280.  
  281.      * UUBBOOUUNNDD
  282.  
  283.      * WWRRIITTEE__MMEEMMOORRYY__BBAARRRRIIEERR
  284.  
  285.      The CF90 compiler supports vector versions of some intrinsic
  286.      procedures.  Using one of these intrinsics means that the presence of
  287.      the intrinsic itself, in a loop, does not inhibit the loop's ability
  288.      to vectorize.  Vector versions of the following CF90 intrinsic
  289.      procedures exist on UNICOS platforms:
  290.  
  291.      * AABBSS, CCAABBSS, CCDDAABBSS, DDAABBSS, IIAABBSS
  292.  
  293.      * AACCOOSS, DDAACCOOSS
  294.  
  295.      * AAIIMMAAGG
  296.  
  297.      * AAIINNTT, DDIINNTT
  298.  
  299.      * AALLOOGG, CCDDLLOOGG, CCLLOOGG, DDLLOOGG
  300.  
  301.      * AALLOOGG1100, DDLLOOGG1100
  302.  
  303.      * AANNDD
  304.  
  305.      * AANNIINNTT, DDNNIINNTT
  306.  
  307.      * AASSIINN, DDAASSIINN
  308.  
  309.      * AATTAANN22, DDAATTAANN22
  310.  
  311.      * AATTAANN, DDAATTAANN
  312.  
  313.      * BBIITT__SSIIZZEE
  314.  
  315.      * MM@@CCLLRR, MM@@LLDD, MM@@MMXX, MM@@LLDDMMXX, and MM@@UULL (the BMM intrinsic functions)
  316.  
  317.      * BBTTEESSTT
  318.  
  319.      * CCEEIILLIINNGG
  320.  
  321.      * CCMMPPLLXX
  322.  
  323.      * CCOOMMPPLL
  324.  
  325.      * CCOONNJJGG
  326.  
  327.      * CCOOSS, CCCCOOSS, CCDDCCOOSS, DDCCOOSS
  328.  
  329.      * CCOOSSHH, DDCCOOSSHH
  330.  
  331.      * CCOOTT, DDCCOOTT
  332.  
  333.      * CCSSMMGG
  334.  
  335.      * CCVVMMGGMM, CCVVMMGGNN, CCVVMMGGPP, CCVVMMGGZZ, CCVVMMGGTT
  336.  
  337.      * DDBBLLEE, DDFFLLOOAATT
  338.  
  339.      * DDIIGGIITTSS
  340.  
  341.      * DDIIMM, DDDDIIMM, IIDDIIMM
  342.  
  343.      * DDPPRROODD
  344.  
  345.      * DDSSHHIIFFTTLL
  346.  
  347.      * DDSSHHIIFFTTRR
  348.  
  349.      * EEPPSSIILLOONN
  350.  
  351.      * EEQQVV
  352.  
  353.      * EEXXPP, CCDDEEXXPP, CCEEXXPP, DDEEXXPP
  354.  
  355.      * EEXXPPOONNEENNTT
  356.  
  357.      * FFLLOOOORR
  358.  
  359.      * FFRRAACCTTIIOONN
  360.  
  361.      * HHUUGGEE
  362.  
  363.      * II2244MMUULLTT
  364.  
  365.      * IIAANNDD
  366.  
  367.      * IIBBCCLLRR
  368.  
  369.      * IIBBIITTSS
  370.  
  371.      * IIBBSSEETT
  372.  
  373.      * IIEEEEEE__CCLLAASSSS
  374.  
  375.      * IIEEEEEE__CCOOPPYY__SSIIGGNN
  376.  
  377.      * IIEEEEEE__FFIINNIITTEE
  378.  
  379.      * IIEEEEEE__IINNTT
  380.  
  381.      * IIEEEEEE__IISS__NNAANN
  382.  
  383.      * IIEEEEEE__RREEAALL
  384.  
  385.      * IIEEEEEE__UUNNOORRDDEERREEDD
  386.  
  387.      * IIEEOORR
  388.  
  389.      * IINNTT, IIDDIINNTT, IIFFIIXX
  390.  
  391.      * IINNTT2244, LLIINNTT
  392.  
  393.      * IINNTT__MMUULLTT__UUPPPPEERR
  394.  
  395.      * IIOORR
  396.  
  397.      * IISSHHFFTT
  398.  
  399.      * IISSHHFFTTCC
  400.  
  401.      * KKIINNDD
  402.  
  403.      * LLEEAADDZZ
  404.  
  405.      * LLOOGGIICCAALL
  406.  
  407.      * MMAASSKK
  408.  
  409.      * MMAAXX, MMAAXX00, AAMMAAXX11, DDMMAAXX11, AAMMAAXX00, MMAAXX11
  410.  
  411.      * MMAAXXEEXXPPOONNEENNTT
  412.  
  413.      * MMEERRGGEE
  414.  
  415.      * MMIINN, MMIINN00, AAMMIINN11, DDMMIINN11, AAMMIINN00, MMIINN11
  416.  
  417.      * MMIINNEEXXPPOONNEENNTT
  418.  
  419.      * MMOODD, AAMMOODD, DDMMOODD
  420.  
  421.      * MMVVBBIITTSS
  422.  
  423.      * NNEEAARREESSTT
  424.  
  425.      * NNEEQQVV, XXOORR
  426.  
  427.      * NNIINNTT, IIDDNNIINNTT
  428.  
  429.      * NNOOTT
  430.  
  431.      * OORR
  432.  
  433.      * PPOOPPCCNNTT
  434.  
  435.      * PPOOPPPPAARR
  436.  
  437.      * PPRREECCIISSIIOONN
  438.  
  439.      * PPRREESSEENNTT
  440.  
  441.      * RRAADDIIXX
  442.  
  443.      * RRAANNDDOOMM__NNUUMMBBEERR
  444.  
  445.      * RRAANNFF
  446.  
  447.      * RRAANNGGEE
  448.  
  449.      * RREEAALL, FFLLOOAATT, SSNNGGLL
  450.  
  451.      * RRRRSSPPAACCIINNGG
  452.  
  453.      * SSCCAALLEE
  454.  
  455.      * SSEELLEECCTTEEDD__IINNTT__KKIINNDD
  456.  
  457.      * SSEETT__EEXXPPOONNEENNTT
  458.  
  459.      * SSHHIIFFTT
  460.  
  461.      * SSHHIIFFTTAA
  462.  
  463.      * SSHHIIFFTTLL
  464.  
  465.      * SSHHIIFFTTRR
  466.  
  467.      * SSIIGGNN, DDSSIIGGNN, IISSIIGGNN
  468.  
  469.      * SSIINN, CCDDSSIINN, CCSSIINN, DDSSIINN
  470.  
  471.      * SSIINNHH, DDSSIINNHH
  472.  
  473.      * SSPPAACCIINNGG
  474.  
  475.      * SSPPRREEAADD
  476.  
  477.      * SSQQRRTT, CCDDSSQQRRTT, CCSSQQRRTT, DDSSQQRRTT
  478.  
  479.      * TTAANN, DDTTAANN
  480.  
  481.      * TTAANNHH, DDTTAANNHH
  482.  
  483.      * TTIINNYY
  484.  
  485.      The CF90 compiler supports vector versions of some intrinsic
  486.      procedures on UNICOS/mk platforms, too.  Using one of these intrinsics
  487.      means that the presence of the intrinsic itself, in a loop, does not
  488.      inhibit the loop's ability to vectorize.  On UNICOS/mk platforms, you
  489.      must specify --OO vveeccttoorr33 and --ll mmffaassttvv on your ff9900(1) command line in
  490.      order for the compiler to be able to use vector versions of the
  491.      following intrinsic procedures:
  492.  
  493.      * CCOOSS
  494.  
  495.      * CCOOSSSS
  496.  
  497.      * EEXXPP
  498.  
  499.      * LLOOGG
  500.  
  501.      * PPOOPPCCNNTT
  502.  
  503.      * RRAANNFF
  504.  
  505.      * SSIINN
  506.  
  507.      * SSQQRRTT
  508.  
  509.      For details about the Fortran 90 intrinsics, see the man pages
  510.      themselves and the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2,
  511.      publication SR-3903.
  512.  
  513.      The C/C++ intrinsics either allow direct access to hardware
  514.      instructions or result in the generation of inline code to perform
  515.      specialized functions.  The intrinsic functions are processed
  516.      completely by the compiler, and no calls to external functions are
  517.      generated.  For details about the C intrinsic procedures, see the _C_r_a_y
  518.      _C/_C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2179.
  519.  
  520.      For information about the math intrinsics, see the IINNTTRROO__LLIIBBMM(3M) man
  521.      page.  When using the MIPSpro 7 Fortran 90 compiler, the math
  522.      intrinsic functions described in the _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e
  523.      _M_a_n_u_a_l, publication SR-2138, are not used.  See the SGI math library
  524.      documentation for information about math intrinsics supported on IRIX
  525.      systems.
  526.  
  527. SSEEEE AALLSSOO
  528.      IINNTTRROO__LLIIBBMM(3M), IINNTTRROO__SSHHMMEEMM(3)
  529.  
  530.      _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903
  531.  
  532.      _C_r_a_y _C/_C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2179
  533.  
  534.      _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
  535.      printed version of this man page.
  536.  
  537.